Method of coding and transmitting EPG data, coder and receiver

ABSTRACT

EPG data regarding programs and their scheduled times are structured and/or transmitted in such a way that program and schedule records are interleaved. This scheme allows better handling by receiving devices such as embedded devices (i.e. LCD remote controls), because a more efficient reception and storage of transmitted data is possible. In particular, the receiving device can read, parse and store the downloaded EPG data on the fly as it is being received (it can start reading, parsing and storing before the complete reception of data id finished). At any time when the device would have to stop storing EPG data into persistent storage, (almost) all of the data that was stored can actually be used.

FIELD OF THE INVENTION

The present invention relates to a method of coding and/or transmittingEPG (electronic program guides) data documents comprising program andschedule records. The invention also relates to a coder for coding EPG(electronic program guide) data comprising program and schedule recordsand to a device comprising a receiver for receiving transmitted codedEPG (electronic program guide) data comprising a decoder for decodingcoded EPG (electronic program guide) data comprising program andschedule records.

BACKGROUND OF THE INVENTION

It is known to transmit information and listings of program informationby means of so-called electronic program guides (EPG), which are basedon the transmission of a large database of program information.Conventionally, the EPG data produced by e.g. a server regardingprograms and their scheduled times is structured into sections. The EPGdata is transmitted to a receiving device such as e.g. a remote controldevice.

Embedded and/or restricted devices need to download large sets of (E)PGdata from some server (via Internet, cable, GSM, or any other network).Since devices have limited computing and storage, it can be difficult tostore all (E)PG data in a memory.

It is possible to separate the TV listing data in 1) programs and 2)schedules for that program. This separation makes it possible that aprogram that is rerun several times has only one program record withmultiple schedule records.

For example, the show with the title ‘Business news’ and description ‘anupdate on today's business worldwide’, will be rerun at 9 PM, 10 PM, and11 PM. In that case, there will be one record that contains the programinformation (program ID, title, description, comments, . . . ), i.e.:

(‘P3992’, ‘Business news’, ‘an update on today's business worldwide’, .. . )

Three schedule records will refer to this program. The first schedulewill contain the

(schedule ID, reference to program ID, start time, end time, indicationof time shift, . . . ), i.e.:

(‘S005’, ‘P3992’, ‘9 PM’, ‘9:30 PM’, ‘live’, . . . ),

(‘S006’, ‘P3992’, ‘10 PM’, ‘10:30 PM’, ‘rerun’, . . . )

(‘S007’, ‘P3992’, ‘11 PM’, ‘11:30 PM’, ‘rerun’, . . . )

This known approach saves a lot of space as compared to joining both theprogram and schedule data into one record. Without joining, also theprogram info (title, description, . . . ) would be repeated three times.

Examples of such a data coding scheme are e.g. known from U.S. Pat. Nos.6,263,501 and 5,652,613.

Although this scheme is efficient, problems may arise when a large setof EPG data is transmitted (downloaded) on a device having a relativelysmall memory or when the transmission is interrupted. In such cases, thepresent coding schemes for EPG data to be transmitted lead to a loss ofuseful information of stored data.

SUMMARY OF THE INVENTION

It is the object of the invention to disclose a method, coder and deviceof the type described in the opening paragraph, allowing an increase ofdirectly useful information, i.e. a reduction of loss of usefulinformation.

To this end a method, coder and device of the type in accordance withthe invention are characterized in that the program and schedule recordof the EPG data are coded and/or transmitted and received in an order inwhich program records and schedule records for programs are interleaved.Interleaved means that each program record is followed or preceded bythe corresponding schedule records before or after a subsequent programrecord is coded and/or transmitted. Thus, the program (p) and schedulerecords (s) are sorted as follows

. . . {p1,s11,s12, . . . s1i},{p2,s21,s22, . . . s2i}, {p3,s31,s32,s3i,. . . }, etc.

(preferably) or

alternatively

{s11,s12, . . . s1i,p1},{s21,s22, . . . s2i,p2},s31,s32, . . . s3i,p3}

wherein p1, p2, p3, etc. are program records and s11,s12, . . . s1i areschedule records corresponding to program record p1 and s21, s22, . . .s2i are schedule records corresponding to p2, etc.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 illustrates one embodiment of the invention for transmitting EPGdata using interleaved program and scheduling data.

DETAILED DESCRIPTION OF THE INVENTION

The inventors have realized that data are transmitted as follows in theknown transmission schemes:

The data is divided into separate sections comprising.

short a section with a list of program records (‘P3992’, ‘Businessnews’, ‘an update on today's business p1 worldwide’, . . . ) (‘P3993’,‘Matlock’, ‘the world's best lawyer in action’, p2 (‘P3995’, ‘ ‘, ‘ ‘, .. . ) p3 (‘P3996’, ‘ ‘, ‘ ‘, ‘ ‘, . . . ) P4 a section with a list ofschedule records (‘S005’, ‘P3992’, ‘9PMI’, ‘9:30PM’, ‘live’, . . . ) s11(‘S006’, ‘P3992’, ‘10PM’, ‘10:30PM’, ‘rerun’, . . . ) s12 (‘S007’,‘P3992’, ‘11PM’, ‘11:30PM’, ‘rerun’, . . . ) s13 (‘S008’, ‘P3993’,‘11:30PM’, ‘12:30PM’, ‘series’, . . . ) s21 (‘S009’, ‘P3995’, ‘ ‘, ‘ ‘,‘ ‘, . . . ) s31 +possible further sections

The indication p1, p2, s11, s12 etc to the right-hand side is shown herefor identification purposes as a guide to the eye, but do not form partof the records.

In itself, this coding and transmission scheme offers a very efficientmanner of coding, transmitting and organizing the data in manycircumstances.

If the total transmitted data does not overload the memory of the deviceand the transmission is uninterrupted, no real problems occur. However,the problem is that, since the memory is limited, the device may nothave enough persistent storage to store all records in the memory. Itwould have to stop storing downloaded EPG data in the memory when it isfull or when a certain limit has been reached. If the transmission isinterrupted, the same phenomenon would occur.

In such circumstances the result might be that, whereas all programrecords are stored, only a few schedule records have been stored. Inthat case, the receiving device can only use a percentage of theinformation on TV programs that has been received, because the crucialcorresponding schedule records are missing for at least some programrecords! In fact, the program records that have been stored but forwhich the schedule records are missing take up valuable memory space.

The same phenomenon occurs when the programs records are firsttransmitted, in which case the crucial corresponding program records aremissing for at least some schedule records.

A related phenomenon occurs when the transmission is interrupted duringtransmission of the EPG data. In such cases, the problem is not a toosmall memory, but the interruption of transmission of data.

Stored information is only truly useful when it is complete. In suchcircumstances, much of the information received is thus incomplete and,consequently, not truly useful.

The efficiency of the data transmission in a data coding method, a coderand device in accordance with the invention is increased because thedevice can read, parse and store the downloaded EPG data on the fly asit is being received (it can start reading, parsing and storing beforethe complete reception of data is finished). At any time when the devicewould have to stop storing EPG data (whether due to a lack of availablememory or an unforeseen interruption of transmission) into persistentstorage, ahmost all of the data (except for possibly the very last) thatwas stored can actually be used.

Preferably, the interleaved program and schedule records are sorted on atime basis.

If sorted on time, all data up to a certain time is known to becomplete. Gaps in the data are avoided.

It is noted that the total EPG document may have other additionalinformation sections such as a section with detailed information on thecontent of programs. Preferably, these additional information sectionsare sorted and/or transmitted after a section with interleaved andsorted program records. The additional information is often backgroundinformation which is of less importance than the combination of programand schedule records. Such information, although useful, does affect theusefulness of the coded data much less than the interleaved program andschedule records. By coding the interleaved program and schedule codesin a section coded prior (i.e. in front of and transmitted prior to therest) to other sections comprising information on programs, the mostimportant information is transmitted first. The section comprising theinterleaved program and schedule records may be preceded in the codingscheme by short codes with general information, e.g. for identifying theEPG data as such or identifying the section as such.

Preferably, the coding scheme is such that schedule records only referto program records that are placed above them (not below them) in thescheme

. . . {p1,s11,s12, . . . s1i,},{p2,s21,s22, . . . s2i}, {p3,s31,s32,s3i,. . . }.

In comparison with the alternative scheme,

{s11,s12, . . . s1i,p1},{s21,s22, . . . s2i,p2}, {s31,s32, . . . s3i,p3}

this scheme offers the advantage that all received information can beidentified and allocated and this is useful, whereas in the alternativescheme the last received information part (because of missing theprogram record) might not be useful.

The EPG document (the section related to the program & schedule info)always starts with a program record: progress 1. (p1) The first schedulerecord: shedder 1 comes directly thereafter. This schedule record willrefer to the progress 1 just before it (p1) and thus could be named s11.This scheme is repeated for all programs, and sorted on the basis ofdate/time of the schedule records. Only in the case where a programrecord is a rerun, i.e. would be double, the program record is omitted.The following schedule record will refer to a program record somewhatabove it. In this case, two (or more) schedule records follow eachother, which could be named s11 and s12, etc.

section with a list of interleaved and sorted program records andschedule records

........ (′P3991′, ′News′, ′the news′, ..) p0 (′S005′, ′P3991′, ′8PM′,′9PM′, ′live′, ....) s01 (′P3992′, ′Business news′, ′an update ontoday's business p1 worldwide′, ...) (‘S001’, ′P3992’, ′9PM′, ′9:30PMI,′live′, ....) s11 (‘S001’, ′P3992’, 110PMI, ‘10:30PM’, ′rerun′, .....)s12 (‘S001’, ′P3992’, 111PMI,‘11:3-PM’, ′rerun′, .....) s13 (′P3993′,′Matlock’, ′the world's best lawyer in action′, .....) p2 (‘S008′,′P3993’, ‘11:30PM’, ′12:30PM’, ′series′, s21 (′P39961 , ′...’ , ‘ ... ‘, ...) p3 (‘S009’, ′P3996’ , ‘ ‘, ‘ ‘ , ‘...′ , s31 (′P4723’, ‘ ... ‘, ‘... ‘ , p4 (‘S049’, ′P4723’ , ‘ ‘, ‘ ‘ , ‘...′ , s41

One embodiment for transmitting the interleaved program and schedule(EPG) data is illustrated in FIG. 1.

A possible implementation could consist of:

1. A screen-based remote control (RC) device, used to control thedisplay device and display the EPG content;

2. An internet-access device, used for downloading EPG content onto thecontrol (RC) device;

3. An Internet server, from which EPG content in the form of EPGdocuments can be retrieved;

Operations are e.g.:

1. On a regular basis, depending on Internet access bandwidth and remotecontrol device memory constraints, the RC requests EPG content from theserver. Alternatively, the server may push an EPG document, i.e. send iteven without an implicit request.

2. In response to such a request, the server prepares an EPG documentcoded in accordance with the ordering, sorting and program/scheduleinterleaving rules in this invention or it may push it. For instance,the EPG data is encoded into an XML format. It is to be noted that theserver may comprise a document which is already encoded in the manner inaccordance with the invention, in which case “preparation” is simplytaken for the document that has already been properly encoded or,alternatively, if such a document is not directly available, the serverprepares such an EPG document by retrieving information from otherdocuments and by coding the information in the manner in accordance withthe invention. To this end, the server comprises, has access to or islinked with a coder for coding an EPG document in accordance with theinvention.3. The server will start sending the (partially) prepared EPG documentto the RC.4. On the fly, the EPG document is received, parsed and stored inpersistent storage on the RC. To this end, the RC device (or any otherdevice for receiving the EPG data) comprises a receiver and a decoderfor decoding the EPG data document coded in accordance with theinvention.5. When finished, or when the storage on the receiving device exceeds acertain limit, the data is still received, but cannot be stored in thememory anymore. Optionally, the connection can be ended.6. The device is certain that all stored data can be optimally used,also when not all data could have been stored. This is the greatadvantage of using interleaved program and schedule records, incomparison with the known method of coding and transmitting the data inseparate program and schedule code sections.

Access to this Internet site or sites by the remote control device isprovided through e.g. an Internet-connected device. This may be a PC,STB or dedicated Internet-connection device like a modem.

The invention can be used e.g. in TV receivers and VCRs or multi-mediaPCs equipped with a video/delete capture card.

An example of an implementation of XML encoded EPG data is given below.

TABLE 1 Implementation example of an excerpt of XML encoded EPG data<program id=″392033″> <title>Matlock</title> </program> <scheduleprogram=’392033″ channel=″10″ starttime=″12.30:00″ endtime=″12:45:00” /><program id=″49332″> <title>Jett Jackson</title> <description>Greatepisode of Jett Jackson.</description> </program> <scheduleprogram=”49332” channel=″21″ starttime=″20:50:00″ endtime=″21:15:00″ /><program id=″03992″> <title>The X-Files</title> <description>Mulderencounters ET.<description> </program> <schedule program=″03992″channel=″32” starttime=’21:00:00″ endtime=″22:00:00″ /> <scheduleprogram=”03992” channel=″21″ starttime=″22:30:00″ endtime=″22:30:00″/><program id=”69782”> <title>News</title> <description>The dailynews.</description> </program> <schedule program=″69782″ channel=″31″starttime=″09:00:00″ endtime=″10:00:00″ />

Within the concept of the invention, a “means for coding”, “coder”,“means for decoding”, “decoder”, etc. is to be broadly understood and tocomprise e.g. any piece of hard-ware (such as a coder or decoder), anycircuit or sub-circuit designed to perform a conversion, imposition,rendition as described, as well as any piece of software (computerprogram or sub-program or set of computer programs, or program code(s))designed or programmed to perform a coding or decoding operation inaccordance with the invention, as well as any combination of pieces ofhardware and software acting as such, alone or in combination, withoutbeing restricted to the examples of embodiments given below.

The invention is also embodied in a device (such as a server) comprisinga coder for coding EPG (electronic program guide) data comprisingprogram and schedule records in accordance with the method of theinvention, in its broadest scope as well as in any one of the preferredembodiments described above.

The invention is also embodied in a receiving device (RC) comprising adecoder for decoding EPG (electronic program guide) data comprisingprogram and schedule records in accordance with the method of theinvention, in its broadest scope as well as in any one of the preferredembodiments described above.

The invention is also embodied in any computer program comprisingprogram code means for performing a method in accordance with theinvention when said program is run on a computer, as well as in anycomputer program product comprising program code means stored on acomputer-readable medium for performing a method in accordance with theinvention, when said program is run on a computer.

It will be appreciated by persons skilled in the art that the presentinvention is not limited by what has been particularly shown anddescribed hereinabove. The invention resides in each and every novelcharacteristic feature and each and every combination of characteristicfeatures. Reference numerals in the claims do not limit their protectivescope. Use of the verb “to comprise” and its conjugations does notexclude the presence of elements other than those stated in the claims.Use of the article “a” or “an” preceding an element does not exclude thepresence of a plurality of such elements.

The present invention has been described in terms of specificembodiments, which are illustrative of the invention and should not beconstrued as limiting. The invention may be implemented in hardware,firmware or software, or in a combination of them. Other embodiments arewithin the scope of the following claims.

In summary, the invention may be described as follows:

EPG data regarding programs and their scheduled times are structuredand/or transmitted in such a way that program and schedule records areinterleaved. This scheme allows better handling by receiving devicessuch as embedded devices (i.e. LCD remote controls), because a moreefficient reception and storage of transmitted data is possible. Inparticular, the receiving device can read, parse and store thedownloaded EPG data on the fly as it is being received (it can startreading, parsing and storing before the complete reception of data isfinished). At any time when the device would have to stop storing EPGdata into persistent storage, (almost) all of the data that was storedcan actually be used. The invention is embodied in a method, but mayequally be embodied in a coder or a decoder or a device comprising acoder or a decoder.

The invention claimed is:
 1. A method of coding and/or transmitting EPG(electronic program guide) data, the data comprising: a plurality ofprogram records, each program record identifying one program; aplurality of schedule records, each schedule record identifying one ormore specific scheduled broadcast times of one program, the programrecords and the schedule records being coded and/or transmitted in aninterleaved manner such that two successive program records areseparated by one or more schedule records associated with one of the twosuccessive program records; wherein each program record and all of theschedule records for that program record are transmitted prior to thenext program record being transmitted; and once transmitted, at areceiving device comprising a processor and a memory, the received EPGdata is read, parsed and stored in the memory as it is being receivedand prior to the complete reception of all of the data for the EPG.
 2. Amethod as claimed in claim 1, characterized in that the interleavedprogram records and schedule records are sorted on a time basis.
 3. Amethod as claimed in claim 1, characterized in that schedule recordsrefer to program records that are ahead in the coding scheme.
 4. Amethod as claimed in claim 1, characterized in that the interleavedprogram records and schedule records are coded in a section, which isseparate and ahead in the coding scheme from other sections comprisinginformation relating to the programs.
 5. A method as claimed in claim 4,characterized in that the section, which comprises interleaved programrecords and schedule records, is preceded by a section comprisinggeneral information.
 6. A device comprising an encoder for coding EPGdata comprising program records and schedule records in accordance withthe method as claimed in claim
 1. 7. A receiving device (RC) comprisinga decoder for decoding EPG data comprising program records and schedulerecords coded in accordance with the method as claimed in claim
 1. 8.The method according to claim 1, wherein upon storing in memory,substantially all stored EPG data is complete for both program recordsand schedule records.
 9. A method for transmitting EPG (electronicprogram guide) data to a receiving device comprising: transmitting EPGdata comprising a plurality of program records and a plurality ofschedule records in an interleaved manner, each of the plurality ofprogram records identifying one program and each of the plurality ofschedule records identifying one or more specific scheduled broadcasttimes of one program, wherein the program records and schedule recordsare interleaved such that two successive program records are separatedby one or more schedule records associated with one of the twosuccessive program records, and transmitting the EPG data to a receivingdevice comprising a processor and a memory, wherein each program recordand its associated schedule records are transmitted prior to the nextprogram and its associated schedule records being transmitted such thateach program record and its associated schedule records are received atthe receiving device before the next program record is received and theEPG data for each program is read, parsed and stored in the memory as itis being received before the complete reception of all EPG data.